
// 该文件专门用于创建应用的路由器
import Vue from 'vue'
// 引入VueRouter
import VueRouter from 'vue-router'
import { constantRouterMap } from '@/router/router.config'
Vue.use(VueRouter)

// 在vue项目中，如果使用$router.push跳转到一个相同的路由报错,通过修改push方法来解决
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
  return originalPush.call(this, location).catch(err => err)
}

const router = new VueRouter({
  // 基础路由
  routes: constantRouterMap,
  // 在每次路由跳转后手动使滚动条回到头部位置
  scrollBehavior: () => ({ y: 0 }),
})

export default router
 